//判断是否为移动号
function checkMobileNum(mobileNum) {
	var reg = /^((((13[5-9]{1})|(15[0,1,2,7,8,9]{1})|(188)){1}\d{1})|((134[0-8]{1}){1})){1}\d{7}$/;
	if (reg.test(mobileNum)) {
		return true;
	} else {
		return false;
	}
}

function rulesByValidator(v) {
	var newInst = v.settings.rules;
	for (var attr in newInst) {
		if (!v.element("#" + attr)) {
			return false;
		}
	}
	return true;
}

function rulesarrByValidator(arr, v) {
	for (var i = 0; i < arr.length; i++) {
		if (!v.element("#" + arr[i])) {
			return false;
		}
	}
	return true;
}

$(document).ready(function() {

		// 字符最小长度验证（一个中文字符长度为2）
		jQuery.validator.addMethod("stringMinLength", function(value, element,
						param) {
					var length = value.length;
					for (var i = 0; i < value.length; i++) {
						if (value.charCodeAt(i) > 127) {
							length++;
						}
					}
					//alert(length >= param);
					return this.optional(element) || (length >= param);
				}, $.validator.format("长度不能小于{0}!"));
	    
	    //结束时间大于开始时间
	    jQuery.validator.addMethod("endTime", function(value, element,
						param) {
					 var beginTime = $(param).val();
					 var endTime = 	value;
					 var beginTimes=beginTime.substring(0,10).split('-');
					 var endTimes=endTime.substring(0,10).split('-');
					 
					 beginTime=beginTimes[1]+'/'+beginTimes[2]+'/'+beginTimes[0]+' '+beginTime.substring(10,19);
					 endTime=endTimes[1]+'/'+endTimes[2]+'/'+endTimes[0]+' '+endTime.substring(10,19);
					
					 var a =(Date.parse(endTime)-Date.parse(beginTime))/3600/1000;
					 
						 if(a<0 && $(param).val()!=null ){
						     return false;
						 }else{
						     return true;
						 }
					
					 
					
				}, $.validator.format("请选中大于开始时间的结束时间!"));
			
		//开始时间小于结束时间
	    jQuery.validator.addMethod("beginTime", function(value, element,
						param) {
					 var beginTime = value;
					 var endTime = 	$(param).val();
					 var beginTimes=beginTime.substring(0,10).split('-');
					 var endTimes=endTime.substring(0,10).split('-');
					 
					 beginTime=beginTimes[1]+'/'+beginTimes[2]+'/'+beginTimes[0]+' '+beginTime.substring(10,19);
					 endTime=endTimes[1]+'/'+endTimes[2]+'/'+endTimes[0]+' '+endTime.substring(10,19);
					
					 var a =(Date.parse(endTime)-Date.parse(beginTime))/3600/1000;
					 
					 if(a<0 && $(param).val()!=null){
					     return false;
					 }else{
					     return true;
					 }
					
				}, $.validator.format("请选中小于结束时间的开始时间!"));	
				 
		// 字符最大长度验证（一个中文字符长度为2）
		jQuery.validator.addMethod("stringMaxLength", function(value, element,
						param) {
					var length = value.length;
					for (var i = 0; i < value.length; i++) {
						if (value.charCodeAt(i) > 127) {
							length++;
						}
					}
					return this.optional(element) || (length <= param);
				}, $.validator.format("长度不能大于{0}!"));

	// 字符验证
	jQuery.validator.addMethod("string", function(value, element) {
				return this.optional(element)
						|| /^[\u0391-\uFFE5\w]+$/.test(value);
			}, "不允许包含特殊符号!");
			
   // 汉字   
   jQuery.validator.addMethod("zn", function(value, element) {   
                 var tel = /^[\u4e00-\u9fa5]+$/;   
                 return this.optional(element) || (tel.test(value));   
   }, "请输入汉字");   
   
   // 非汉字   
   jQuery.validator.addMethod("nozn", function(value, element) {   
                 var tel = /^[\u4e00-\u9fa5]+$/;   
                 return this.optional(element) || !(tel.test(value));   
   }, "请输入汉字");


	// 手机号码验证   
	jQuery.validator.addMethod("isMobile", function(value, element) {   
	  var length = value.length;   
	  var mobile = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/;   
	  return this.optional(element) || (length == 11 && mobile.test(value));   
	}, "请正确填写您的手机号码");

	// 联系电话(手机/电话皆可)验证   
	jQuery.validator.addMethod("isPhone", function(value,element) {   
	  var length = value.length;   
	  var mobile = /^(((13[0-9]{1})|(15[0-9]{1}))+\d{8})$/;   
	  var tel = /^\d{3,4}-?\d{7,9}$/;   
	  return this.optional(element) || (tel.test(value) || mobile.test(value));   
	   
	}, "请正确填写您的联系电话");
	// 电话号码验证
	jQuery.validator.addMethod("phone", function(value, element) {
				var tel = /^\d{3,4}-?\d{7,9}$/; //电话号码格式010-12345678
				return this.optional(element) || (tel.test(value));
			}, "电话号码格式错误!");

	// 邮政编码验证
	jQuery.validator.addMethod("zipCode", function(value, element) {
				var tel = /^[0-9]{6}$/;
				return this.optional(element) || (tel.test(value));
			}, "邮政编码格式错误!");

	// 必须以特定字符串开头验证
	jQuery.validator.addMethod("begin", function(value, element, param) {
				var begin = new RegExp("^" + param);
				return this.optional(element) || (begin.test(value));
			}, $.validator.format("必须以 {0} 开头!"));

	// 验证两次输入值是否不相同
	jQuery.validator.addMethod("notEqualTo", function(value, element, param) {
	            
				return value != $(param).val();
			}, $.validator.format("两次输入不能相同!"));

	// 验证值不允许与特定值等于
	jQuery.validator.addMethod("notEqual", function(value, element, param) {
				return value != param;
			}, $.validator.format("输入值不允许为{0}!"));

	// 验证值必须大于特定值(不能等于)
	jQuery.validator.addMethod("gt", function(value, element, param) {
				return value > param;
			}, $.validator.format("输入值必须大于{0}!"));

	// 验证值小数位数不能超过两位
	jQuery.validator.addMethod("decimal", function(value, element) {
				var decimal = /^-?\d+(\.\d{1,2})?$/;
				return this.optional(element) || (decimal.test(value));
			}, $.validator.format("小数位数不能超过两位!"));

	// email的校验方法
	jQuery.validator.addMethod("decimal", function(value, element) {
				var decimal = /^-?\d+(\.\d{1,2})?$/;
				return this.optional(element) || (decimal.test(value));
	}, $.validator.format("小数位数不能超过两位!"));
	
	//只能包括中文字、英文字母、数字和下划线    
     jQuery.validator.addMethod("userName", function(value, element) {    
            return this.optional(element) || /^[\u0391-\uFFE5\w]+$/.test(value);    
     }, $.validator.format("只能包括中文字、英文字母、数字和下划线"));   
	
	 //复选框是否有选中验证
     jQuery.validator.addMethod("isChecked", function() { 
		var tl = $('input[name="roleCheckbox"]:checked').length;
		//alert(tl);
	    if(tl>0){
	        return true;
	    }else{
	        return false;
	    }
     }, $.validator.format("无选中"));   
	
		
});
